The present invention relates to dynamic predictions for workflow systems. More particularly, the present invention relates to dynamically predicting: deadlines of a workflow process, whether a workflow process will escalate and whether it is beneficial to preemptively escalate a workflow process.
Organizations use workflow management systems (WFMSs) to streamline, automate, and manage business processes that depend on information systems and human resources. Examples of such business processes would include provisioning of telephone services, processing insurance claims and handling bank loan applications.
A workflow is an abstraction of a business process. It consists of activities, which correspond to individual process steps, and agents, which execute these activities. An agent may be an information system (e.g., a database system), a human (e.g., a customer representative at his or her workstation) or a combination of both (e.g., a human using a software program at his or her workstation).
The workflow specification may also specify allowable execution times, referred to as deadlines for the purposes of this patent, for both the individual component activities as well as for the entire business process being modeled. A deadline is defined as the time by which an activity, or the whole workflow process, must complete in order to avoid special actions known as escalations. A deadline is typically determined by first calculating a predicted completion time and then adding a certain amount of slack time. Completion time is the time it takes a particular activity to complete from the time the activity is first submitted to an agent""s queue for execution. Typically, escalations increase the cost of.business processes due to the execution of additional activities, the compensation of finished activities, or the intervention of highly-paid workers.
WFMSs provide tools to: support the modeling of business processes at a conceptual level, coordinate the execution of the component activities according to the model, monitor the execution progress, and report various statistics about the business processes and the resources involved in their enactment.
According to the Workflow Management Coalition (WFMC) reference model in the WFMC Specification, shown in FIG. 1 a WFMS consists of an engine 100, application agents 104-106, invoked applications 107-109, a process definition.tool 101, and administration and monitoring tool""s 102. The WFMC Specification, by the WFMC Group, document number WFMC-TC-1011, is incorporated herein by reference. Typically, the process definition tool 101 is a visual editor which is used to define the specification, i.e., the schema, of a workflow process. The same schema can be used for creating multiple instances of the same business process at a later time. The workflow engine 100, the tools 101-102, the application agents 104-106, and the invoked applications 107-109 communicate with a workflow database 103 to store and update workflow-relevant data, such as workflow schemas, statistical information, and control information required to execute and monitor the active process instances.
The schema specifies the activities that constitute the workflow and precedence relationships among them. Precedence relationships determine the execution sequence (or path) of the activities as well as the data flow between them. Activities can be executed sequentially or in parallel. Parallel executions may be unconditional, i.e., all activities are executed, or conditional, i.e., only activities that satisfy a condition are executed. In addition, activities may be executed repeatedly and the number of iterations may be determined by data obtained during execution of the process instance.
Some common activities are: (i) ordering an item, (ii) ordering a service, (iii) canceling an item and (iv) canceling a service. For the purposes of this patent, these four preceding activities will be referred to as commodity requests. A commodity request is typically output by the workflow management system in order that an external system or organization can satisfy the request. Another activity may be causing a signal to be routed to a data processing system.
WFMSs known in the art allow for the specification of deadlines for the component workflow activities as well as for the entire workflow process. However, the assignment of deadlines is done statically for all instances of the same workflow process, and it is based on the worst-case scenario for the load level of the agents involved in the workflow process. The schema may specify escalations which are executed when the process or some of its activities miss their deadlines.
Known WFMSs maintain audit logs that keep track of information about the status of workflow processes, and various statistics about past process executions. This information can be used to provide real-time status reports about the state of the system and the active workflow process instances, as well as various statistical measurements such as the average completion time of an activity belonging to the particular process schema.
It would be desirable to utilize the status and statistical information in WFMSs to dynamically predict the timing properties of workflow executions, and to use these dynamic predictions to manage workflows better.
It is therefore an object of the present invention to dynamically assign the deadline of an activity from the dynamic calculation of a predicted completion time.
The dynamic calculation of a predicted completion time relies upon the dynamic calculation of an average completion time and of a load factor. The average completion time of an activity is an average of the past actual completion times of that activity. The load factor of an activity is a ratio of average current queue length and the cumulative average queue length. The average current queue length is the average of the current queue lengths of all the agents that can execute the activity, while the cumulative average queue length is also computed with respect to these same agents. For each activity, its average completion time and load factor are typically calculated as of the time the workflow process is submitted for execution.
Another object of the present invention is the calculation of a deadline for the entire workflow process by summing the deadlines for each activity along the critical path.
A further object of the present invention is the prediction of an escalation, during the execution of a workflow instance, when a current activity is about to be executed, by looking ahead to a future activity which has not yet been executed and dynamically computing its predicted completion time. If the predicted completion time of the future activity is greater than the activity""s deadline, an escalation is predicted.
It is a further object of the present invention to determine whether it is beneficial to preemptively escalate, given that a future activity is predicted to escalate, by calculating a confidence factor by which the predicted completion time is multiplied. If the product is still greater than the activity""s deadline, then it is beneficial to preemptively escalate. The confidence factor is based upon the escalation costs of the current activity and the future activity.